42de30
@@ -935,12 +935,16 @@
public final class ExpressionBuilder {
     public static Expression convertToExpression(final Expression expression, final Class type) {
         return new ExpressionAdapter() {
             public Object evaluate(Exchange exchange) {
-                return expression.evaluate(exchange, type);
+                if (type != null) {
+                    return expression.evaluate(exchange, type);
+                } else {
+                    return expression;
+                }
             }
 
             @Override
             public String toString() {
-                return "" + expression + ".convertTo(" + type.getCanonicalName() + ".class)";
+                return "" + expression;
             }
         };
     }
@@ -952,12 +956,17 @@
public final class ExpressionBuilder {
     public static Expression convertToExpression(final Expression expression, final Expression type) {
         return new ExpressionAdapter() {
             public Object evaluate(Exchange exchange) {
-                return expression.evaluate(exchange, type.evaluate(exchange, Object.class).getClass());
+                Object result = type.evaluate(exchange, Object.class);
+                if (result != null) {
+                    return expression.evaluate(exchange, result.getClass());
+                } else {
+                    return expression;
+                }
             }
 
             @Override
             public String toString() {
-                return "" + expression + ".convertToEvaluatedType(" + type + ")";
+                return "" + expression;
             }
         };
     }
